#include "app_connect_server.h"

#define LOG_TAG              "connect_sever"
#include <drv_log.h>

/*************************define******************************************/
network_status net_sta;//网络状态
/*************************extern******************************************/
//extern GPRS_STA GSM_STA;
extern WIFI_STA ESP8266_STA;
extern dev_config dev_config_info;//设备参数
//extern send_data net_send;//数据发送参数
//extern struct rt_semaphore sem_net_available;//net可用信号量
extern local_time sync_time;
extern struct rt_messagequeue mq_send;//消息队列控制块
/*************************rt_thread***************************************/
struct rt_thread connect_server_thread;//modbus tcp
/*************************rt_stack****************************************/
ALIGN(RT_ALIGN_SIZE)
static rt_uint8_t connect_server_thread_stack[2048];//线程栈 

extern int mqtt_test_example(void);
/*******************************************************************************
* Function Name  : thread_connect_server_entry
* Description    : 连接服务器线程
* Input          : void
* Output         : None
* Return         : None
* Attention		   : None
*******************************************************************************/
static void thread_connect_server_entry(void *parameter)	
{
		struct netdev *netdev_4g = RT_NULL;
		wifi_register();
		lte_register();
		netdev_4g = netdev_get_by_name("4g");
		netdev_set_default(netdev_4g);
		sync_time.enable = RT_TRUE;
		mqtt_test_example();
}


/*******************************************************************************
* Function Name  : app_init_connect_server
* Description    : 初始化连接服务器相关
* Input          : void
* Output         : None
* Return         : None
* Attention		   : None
*******************************************************************************/
static int app_init_connect_server(void)
{
   	//创建静态线程 - modbus_tcp
	rt_thread_init(&connect_server_thread,                //线程控制块
								 "connect_server",                      //线程名字，在shell里面可以看到
								 thread_connect_server_entry,           //线程入口函数
								 RT_NULL,                     		  		//线程入口函数参数
								 &connect_server_thread_stack[0],       //线程栈起始地址
								 sizeof(connect_server_thread_stack),   //线程栈大小
								 connect_pro,    								    		//线程的优先级
								 20);                         		  		//线程时间片
	rt_thread_startup(&connect_server_thread);            //启动线程  						 
	return RT_EOK;
}

INIT_APP_EXPORT(app_init_connect_server);


